package com.erp.statistics.order.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.web.oldDomain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 订单信息统计业务对象 erp_order_info_statistics
 *
 * @author erp
 * @date 2023-07-19
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ErpOrderInfoStatisticsBo extends BaseEntity {

    /**
     * 主键
     */
    @NotNull(message = "主键不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 订单号
     */
    @NotNull(message = "订单号不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long orderId;

    /**
     * 订单金额
     */
    @NotBlank(message = "订单金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private String payPrice;

    /**
     * 联盟佣金
     */
    @NotBlank(message = "交易佣金不能为空", groups = { AddGroup.class, EditGroup.class })
    private String afflicateFeeRate;

    /**
     * 交易佣金
     */
    @NotBlank(message = "联盟佣金不能为空", groups = { AddGroup.class, EditGroup.class })
    private String escrowFeeRate;

    /**
     * 预估利润
     */
    @NotBlank(message = "预估利润不能为空", groups = { AddGroup.class, EditGroup.class })
    private String profit;

    /**
     * 国家
     */
    @NotBlank(message = "国家不能为空", groups = { AddGroup.class, EditGroup.class })
    private String country;

    /**
     * 物流
     */
    @NotBlank(message = "物流不能为空", groups = { AddGroup.class, EditGroup.class })
    private String logisticsCode;

    /**
     * 部门id
     */
    @NotBlank(message = "部门id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String deptId;

    /**
     * 店铺id
     */
    @NotBlank(message = "店铺id不能为空", groups = { AddGroup.class, EditGroup.class })
    private String storeId;

    /**
     * 乐观锁
     */
    @NotBlank(message = "乐观锁不能为空", groups = { AddGroup.class, EditGroup.class })
    private String revision;

    /**
     * 物流价格
     */
    private String logisticsPrice;
    /**
     * 店铺账户
     */
    private String storeUserName;
    /**
     * 商品编码
     */
    private String skuCode;

    /**
     * 实际采购价格
     */
    private String realPurchase;
}
